package cn.kgc.controller;

import cn.kgc.config.ItemQuery;
import cn.kgc.dto.Dto;
import cn.kgc.dto.DtoUtil;
import cn.kgc.dto.Page;
import cn.kgc.service.ItemSearchService;
import cn.kgc.config.ItemSearchVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;


/**
 * Created by 北大课工场
 */
@RestController
@RequestMapping("/api/p/list")
public class ItemListController {

    @Autowired
    private ItemSearchService itemSearchService;

    /**
     * 搜索功能
     * @param itemQuery
     * @return
     * @throws Exception
     */
    @RequestMapping("/queryItemList")
    public Dto<Page<ItemSearchVo>> queryItemList(@RequestBody ItemQuery itemQuery) throws Exception {


        Page<ItemSearchVo> result = itemSearchService.queryItemList(itemQuery);


        return DtoUtil.returnDataSuccess(result);
    }


    /**
     * 同步mysql数据到es中
     * 1、全量更新，之前没有更新过数据到es，全表扫描，全表更新 2-7
     * 2、增量更新，找到上一个时间更新数据的时间节点，晚于此节点更新的数据找出来放到es中 2-8
     * @return
     * @throws Exception
     */
    @RequestMapping("/import")
    public Dto importItemList() throws Exception {
        itemSearchService.importItemList();
        return DtoUtil.returnDataSuccess(1);
    }



}
